package com.itheima.dao;

import com.itheima.pojo.Menu;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 菜单持久层
 * @author ：zengjie
 * @date ：2020/11/16
 */
public interface MenuDao {
    /**
     * 根据用户名查询用户权限能访问的菜单
     * @param username
     * @return
     */
    List<Menu> findAllMenu(String username);

    /*
    * 菜单分页查询
    * */
    List<Menu> findPage(String queryString);

    /*
    * 新增
    * */
    void add(Menu menu);


    /*
    * 编辑菜单管理
    * */
    void update(Menu menu);

    /*
    * 通过优先级id获去路径
    * */
    Menu findById(Integer parentId);

    /*
    * 角色查询
    * */
    List<Map> findAllRoles();

    /*
     *查询父菜单
     * */
    Integer queryParenMenu(Integer id);

    /*
     *删除菜单
     * */
    void deleteById(Integer id);

    /**
     * 查询是否存在菜单名
     * @param name
     * @return
     */
    Long findMenuname(String name);


    Long findParentMenu(Integer level);

    /**
     * 获取二级菜单
     * @param menuid
     * @param username
     * @return
     */
    List<Menu> findChildren(@Param("menuid") Integer menuid,@Param("username") String username);
}
